For some time now, there has been a growing need to be able to inexpensively and easily connect a number of arbitrary devices to a computer running a standard operating system such as Microsoft® WINDOWS®. However, connecting devices to a computer running such a complicated operating system presents at least two vexing problems to the system designer.
The first problem involves the matter of physical interconnection, that is, some type of custom device is to be plugged into the computer. General purpose “IBM-compatible” computers have become more and more powerful and less and less expensive with every passing month, but that market is driven by a handful of more or less universal needs, such as a printer, a monitor, a keyboard, a mouse, a modem, and a hard disk. The modem hardware platform is optimized for accommodating these elements.
Meanwhile, the addition of custom equipment generally has meant either building an expansion board designed to specifically interface to that equipment, or buying a general purpose board that could be adapted to that purpose. The least expensive of these options is to add an expansion board by building or buying an industry-standard architecture (ISA) board. However, as time goes on, modem central processing unit (CPU) boards are being built with fewer and fewer ISA slots. Many central processing unit boards these days have only one ISA slot. This forces designers to have to develop much more complicated and expensive Peripheral Component Interface (PCI) boards. A PCI bus provides a high-bandwidth data channel between system board components, such as the CPU, and devices, such as hard disks and video adapters. Another problem experienced today is that most central processing unit boards have a limited number of corn ports. This creates a limitation in the number of devices that can be utilized.
The second problem facing the system designer that wants to incorporate custom hardware into a WINDOWS® environment is the issue of software development. Operating systems, by definition, are in charge of resource management. To that end, operating systems regard any and all hardware attached to the system as belonging to the operating system. As a result, user access to that hardware is supposed to be mediated by the operating system.
WINDOWS® NT, for example, being a secure operating system environment, rigorously enforces that rule. Accordingly, the result of user access to hardware being mediated by the NT operating system is that any effort by an application to access hardware directly is intercepted and disabled by the operating system. Hence, access to hardware can only be achieved through device drivers which are assumed to be trustworthy because they are loaded into the operating system at boot time.
Moreover, device driver programming is one of the most difficult software development paradigms in existence. Programming mistakes tend to make the computer crash, often without any indication of what went wrong. Debugging tools are primitive and difficult to use, and are limited in the information they convey. Each compile load-test cycle requires that the target machine be shut down and rebooted, which can take several minutes. Thus, the debugging process is often slow and discouraging work. In addition, many designers avoid performing WINDOWS® driver development. As a result, it is desirable to remove the need for developers to have to perform such work.
Another major problem experienced when connecting a number of arbitrary devices to a computer running a standard operating system, again, such as Microsoft® WINDOWS®, is the issue of real time device control. Essentially, true real time depends upon the application. A standard WINDOWS® environment, such as WINDOWS® 98 or WINDOWS® 2000, does not actually have true real time device control requirements for resource management by the operating system. The operating system simply performs the ordered functions as soon as it is able, which is usually in a sub-200 millisecond time frame. This time frame is small enough that most people equate this response time to be “real time,” but in actuality it is not “true real time.”
However, many peripheral devices actually have true real time device control requirements that are more precise than the above-stated time interval. For example, loaves of bread may be traveling down a conveyer belt at a given number of miles per hour. These loaves of bread have to be sprayed by a butter sprayer at precise time intervals as the loaves of bread pass the sprayer. If these true real time device control requirements are not maintained, the butter sprayer will miss the loaves of bread as they pass by the sprayer. Unfortunately, previous attempts to make the standard WINDOWS® operating systems function with true real time device control (such as with layered real time systems or real time kernels), have proved to be undesirably expensive, complicated, and inflexible, requiring more corn ports to be added. Further, these ports are slow (typically 9600 baud) and do not address the need to mix high speed data (video) and low speed data (mouse clicks) communications.
Traditionally, gaming machines have been designed for gaming purposes only. In this regard, gaming machines have been constructed only to include gaming functionality. Recently, however, casino owners have become aware that by adding additional features to gaming machines, they may be able to maintain a player's attention to the gaming machines for longer periods of time. This, in turn, leads to the player wagering at the gaming machine for longer periods of time, thereby increasing casino profits.
One technique that has been employed to maintain a player's attention at the gaming machine has been to provide players with access to gambling-related information. By attaching a small electronic display to the gaming device, gambling-related information, as well as news and advertisements can be sent to the player. The gambling-related information may include, for example, information on sports betting and betting options for those sporting events. Additionally, the gambling-related information may also include information such as horse racing and off-track betting. News and advertisements can also maintain a player's attention by providing the player with access to information ranging from show times, to restaurant and hotel specials, and to world events, thus reducing the need and/or desire for the player to leave the gaming machine.
Moreover, it would be desirable to provide the player with interactive access to the above information. This type of interactivity would allow players significantly more flexibility to make use of the above-described information. The gambling-related information could also be utilized by the player in a much more efficient manner. In this regard, greater levels of flexibility and access are likely to make a player remain and gamble at the gaming machine for significantly longer periods of time. Unfortunately, the system components that are currently utilized for displaying and accessing this type of information, such as external keypads and display modules, are extremely limited in the functionality and capabilities that they provide, thus limiting the success of their ability to maintain a player's attention.
As stated above, attempts to distribute gaming-related information and advertisements to players, has typically required additional system components to be attached to the gaming devices separately and apart from the construction of the gaming machine itself. Specifically, these components for accessing and displaying information from gaming machines have been extremely limited in their usefulness because of the lack of capabilities inherent in these components. Such components have generally included a keypad, card reader, and display equipment, such as a 2-line LED display. It would be desirable for these components to be integrated into the gaming device itself, in a more unified fashion to provide substantially greater functionality than that which has been previously available.
Furthermore, the collection data of gaming-related information and the playing habits of individual players can be of significant marketing value to the operators of the gaming devices. This information enables gaming operators to more effectively focus their marketing efforts on customers, through direct mail, contact in the gaming premise, organization of special events targeting better customers, and an array of techniques that are well known to individuals who practice the marketing craft in gaming environments.
Marketing experts typically like to have a wide range of information available regarding the aggregate play habits of customers, as well as the specific habits of each customer. The types of data desired for such marketing purposes include the frequency of play, the duration of play, the amount of money wagered, the amount won, and the types of games played. The collection of such data is accomplished most commonly by the use of “player tracking systems.” These computer systems typically identify players through the use of a magnetic stripe card (i.e., a player tracking card) that a player inserts into a card reader attached to the gaming device before beginning play. In such a system, gaming devices are typically fitted with player tracking components that include a magnetic stripe card reader, a display device, and generally several buttons that provide players with at least some ability to communicate with the player tracking system.
In some systems, a microprocessor (or computer) is located in the gaming device that controls the player tracking devices. An additional responsibility of this microprocessor is to communicate with the gaming machine itself to monitor the play that is occurring. In this manner, the player tracking system identifies the player who is playing by reading the player's magnetically encoded card. The player tracking system is also aware of the game play activity on the gaming machine that the player is playing. The player tracking system computer typically collects all game play data from a network of gaming machines and accumulates it into a large data store in a database system. The accumulation of game play data in the database enables many types of analysis, as well as the formulation of marketing and sales strategies to improve the business operation of the gaming operator.
An occurrence that assists data collection is that several common communication protocols have emerged that enable ready communication between gaming devices and player tracking systems. Many protocols are well known and are used by a variety of player tracking system suppliers. These protocols are typically available in gaming devices that are installed in gaming venues, especially traditional domestic casinos, and make implementation of player tracking systems a reasonably straight-forward process.
Sometimes however, problems occur in gaming devices that are not produced primarily for traditional domestic casino use. This may happen for any of a wide variety of reasons. One example of such a potentially problematic system is a “video lottery.” A video lottery system is a network that interconnects machines in a variety of physical locations. The controlling computer system collects accounting data from gaming machines in the network and has various other control and monitoring functions. Generally, in such a system, the gaming devices are interconnected to a wide area network and use different software structures and communication mechanisms than those found in mainstream casino based systems. They are often not configured to support communications to traditional player tracking systems. In particular, they may not support or be configured with appropriate protocols. Furthermore, they may not be approved by the appropriate regulatory bodies.
In this regard, the diversity of games and manufacturers, as well as the cost of regulatory approvals, makes the addition of player tracking capabilities a very time-consuming and expensive process. It is further complicated by the need to coordinate software and installation among what may be a large diversity of manufacturers, each potentially having differing priorities, capabilities, and motivations. Indeed, the costs associated with such player tracking systems can offset the benefits of installing a player tracking system. The problem extends past video lotteries to many types of non-traditional systems, including Bingo-based games (Indian Gaming Regulatory Act Class 2), European “street machines” (also known as Amusement With Prizes), and various types of international systems.
Player tracking systems have also long been relegated to small displays and fairly generic sound capabilities. Additionally, a wider variety of output (and potentially input) devices are also desirable. Furthermore, promotional and/or system-based games are new and have thus far been limited to video presentations on fairly small screens.
Accordingly, those skilled in the art have recognized the need for a device controller that has overcome the previous difficulties associated with physical interconnections between hardware, software, and operating systems; software development issues; and promotional game and system game device control.